using System.Text.Json.Serialization;

namespace ServiceLib.Models;

/// <summary>
/// https://github.com/2dust/v2rayN/wiki/
/// </summary>
[Serializable]
public class VmessQRCode
{
    [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
    public int v { get; set; } = 2;

    public string ps { get; set; } = string.Empty;

    public string add { get; set; } = string.Empty;

    [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
    public int port { get; set; } = 0;

    public string id { get; set; } = string.Empty;

    [JsonNumberHandling(JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
    public int aid { get; set; } = 0;

    public string scy { get; set; } = string.Empty;

    public string net { get; set; } = string.Empty;

    public string type { get; set; } = string.Empty;

    public string host { get; set; } = string.Empty;

    public string path { get; set; } = string.Empty;

    public string tls { get; set; } = string.Empty;

    public string sni { get; set; } = string.Empty;

    public string alpn { get; set; } = string.Empty;

    public string fp { get; set; } = string.Empty;
}
